// 文章相关请求模块

import ajax from '../utils/request';

// put/post/patch：如果参数要放在请求体中，则写在data
// get：如果参数要放在请求行，则要写在params中
// 如果参数要放在headers中，则要写在headers中
export const getArticles = (queryObj) => {
  return ajax({
    method: 'GET',
    url: '/mp/v1_0/articles',
    params: queryObj
  });
};

// 获取文章频道
export const getArticleChannels = () => {
  return ajax({
    method: 'GET',
    url: '/mp/v1_0/channels'
  });
};

// 删除文章
export const deleteArticle = articleId => {
  return ajax({
    method: 'delete',
    url: `/mp/v1_0/articles/${articleId}`
  });
};

/**
 * 添加文章
 * @param {*} article 文章
 * @param {*} isDraft 是否是草稿
 */
export const addArticle = (isDraft, article) => {
  return ajax({
    method: 'POST',
    url: '/mp/v1_0/articles',
    params: {
      draft: isDraft // 是否是草稿
    },
    data: article
  });
};

/**
 *  获取文章详情
 * @param {*} id 文章编号
 */
export const getArticle = id => ajax({
  method: 'GET',
  url: `/mp/v1_0/articles/${id}`
});

/**
 *  修改文章
 * @param {*} id 文章编号
 * @param {*} data 文章详情
 */
export const modArticle = (id, data) => ajax({
  method: 'PUT',
  url: `/mp/v1_0/articles/${id}`,
  params: {
    draft: false // 直接保存为发布状态
  },
  data
});
